#ifndef HPLC_QINFINE_AUTOSAMPLER_PROTOCOL_H
#define HPLC_QINFINE_AUTOSAMPLER_PROTOCOL_H

#include "common/protocolcommon.h"
#include "common/sendcommonsystempacket.h"
#include "autosamplersendpacket.h"
#include "autosamplersendsystempacket.h"
#include "modulehplcautosamplerdefine.h"

namespace hplc
{
namespace qinfine
{

class AutoSamplerProtocolData;
class AutoSamplerProtocol : public hplc::qinfine::ProtocolCommon
{
    Q_OBJECT
public:
    AutoSamplerProtocol(AutoSamplerParam &param, QObject *parent = nullptr);
    virtual ~AutoSamplerProtocol();

    AutoSamplerSendPacket *getAutoSamplerSender();
    AutoSamplerSendSystemPacket *getAutoSamplerSystemSender();

    void setModel(quint8 model) override;

protected:
    AutoSamplerProtocol(AutoSamplerProtocolData &data, AutoSamplerParam &param, QObject *parent = nullptr);

private:
    hplc::AutoSamplerParam			*m_param = nullptr;
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_AUTOSAMPLER_PROTOCOL_H
